package com.dianrui.operation.util;

import com.amap.api.maps.model.LatLng;

import java.util.List;
/**
 * 获取不规则多边形几何中心点
 */
public class LatLngBounds {

    public static final double MIN_LAT = -90;
    public static final double MAX_LAT = 90;
    public static final double MIN_LNG = -180;
    public static final double MAX_LNG = 180;

    // 经度最小值
    public static double getMinLongitude(List<LatLng> mPoints) {
        double minLongitude = MAX_LNG;
        if (mPoints.size() > 0) {
            minLongitude = mPoints.get(0).longitude;
            for (LatLng latlng : mPoints) {
                // 经度最小值
                if (latlng.longitude < minLongitude)
                    minLongitude = latlng.longitude;
            }
        }
        return minLongitude;
    }

    // 经度最大值
    public static double getMaxLongitude(List<LatLng> mPoints) {
        double maxLongitude = MIN_LNG;
        if (mPoints.size() > 0) {
            maxLongitude = mPoints.get(0).longitude;
            for (LatLng latlng : mPoints) {
                // 经度最大值
                if (latlng.longitude > maxLongitude)
                    maxLongitude = latlng.longitude;
            }
        }
        return maxLongitude;
    }

    // 纬度最小值
    public static double getMinLatitude(List<LatLng> mPoints) {
        double minLatitude = MAX_LAT;
        if (mPoints.size() > 0) {
            minLatitude = mPoints.get(0).latitude;
            for (LatLng latlng : mPoints) {
                // 纬度最小值
                if (latlng.latitude < minLatitude)
                    minLatitude = latlng.latitude;
            }
        }
        return minLatitude;
    }

    // 纬度最大值
    public static double getMaxLatitude(List<LatLng> mPoints) {
        double maxLatitude = MIN_LAT;
        if (mPoints.size() > 0) {
            maxLatitude = mPoints.get(0).latitude;
            for (LatLng latlng : mPoints) {
                // 纬度最大值
                if (latlng.latitude > maxLatitude)
                    maxLatitude = latlng.latitude;
            }
        }
        return maxLatitude;
    }
}
